package com.detect.service;

import java.util.List;
import java.util.Map;

import com.detect.exception.FileDoesNotExistException;
import com.detect.model.FileInfo;

public interface ScanService {

    public static final long DEFAULT_MIN_SIZE = 100 * 1024;// 最小文件100k，忽略100k以下的文件

    public static final long DEFAULT_MAX_SIZE = 512 * 1024 * 1024;// 忽略大于512M以上的文件

    public static final int SCAN_DEPTH_DEFAULT = 6;

    public static final int SCAN_DEPTH_LOW = 3;

    public static final int SCAN_DEPTH_MIDDLE = 6;

    public static final int SCAN_DEPTH_DEEP = 10;

    void doScan() throws FileDoesNotExistException;

    int getFileCount();

    List<FileInfo> getFileInfos();

    Map<String, List<FileInfo>> getDuplicateFileWithMD5();

    Map<String, List<FileInfo>> getDuplicateFileWithName();
}
